package com.ruoyi.web.controller.wx_driver;

import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.VQMSConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.vqms.domain.VQMSQueue;
import com.ruoyi.vqms.domain.VQMSVisitRecordYuchai;
import com.ruoyi.vqms.service.IVQMSQueueService;
import lombok.NonNull;
import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.lang.NonNull;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 司机排队信息
 */
@RestController
@RequestMapping("/wx/queue")
public class QueueController extends BaseController {

    @Autowired
    private IVQMSQueueService queueService;

    /**
     * 查询排队列表
     */
    @RequestMapping("/list")
    public TableDataInfo list(VQMSQueue vqmsQueue){
        startPage();
        List<VQMSQueue> list=queueService.selectList(vqmsQueue);

        if (!list.isEmpty()){    //不为空
            if (list.get(0).getStatus() == VQMSConstants.STATUS_QUEUE_END){ //已完成
                list.clear();
            }
        }
        return getDataTable(list);
    }

    /**
     * 删除排队
     */
    @Log(title = "删除排队", businessType = BusinessType.DELETE)
    @DeleteMapping(value = "/{ids}")
    public AjaxResult delete(@PathVariable Long[] ids) {
        return AjaxResult.success(queueService.delete(ids));
    }

    /**
     * 查询最近的一条南大门或者中心仓库的记录
     */
    @GetMapping("/queryUnfinishedQueueByPhone/{phone}")
    public AjaxResult queryUnfinishedQueueByPhone(@PathVariable @NonNull String phone) {
        //查询是否有未完成的排队记录
        List<VQMSQueue> list = queueService.selectQueue(phone);
        if (CollectionUtils.isEmpty(list)){     //无未完成
            return AjaxResult.success("200");
        }
        return AjaxResult.success("201");
    }

}
